February 20, 2021
<body>
<div class="grid">
<div class="header">header</div>
<div class="content">content</div>
<div class="nav">nav</div>
<div class="footer">footer</div>
</div>
</body>
๊ฐ๊ฐ์ div ๋ค์ (.header, .content, .nav, .footer) ์ปจํ ์ธ (text) ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
์์ดํ ๋ค์ ์์น์ํค๋ justify-items ์ align-items ์ ๋ํด ์์๋ณด์๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก ๋ถ๋ชจ ์์ฑ์์ (.grid) ์ฌ์ฉํ๋ค.
์๋๋ ์ด๊ธฐ ์ฝ๋์ด๊ณ ์ฌ๊ธฐ์ justify-items ์ align-items ๋ฅผ ์ ์ฉ์์ผ ๋ณด๊ฒ ๋ค.
.grid {
display: grid;
gap: 10px;
height: 50vh;
grid-template-columns: repeat(4, 1fr);
grid-template-rows: repeat(4, 1fr);
}
.header {
background: #2ecc71;
}
.content {
background: #3498db;
}
.nav {
background: #8e44ad;
}
.footer {
background: #f39c12;
}
justify-items: stretch;
justify-items(์ํ, ๊ฐ๋ก), stretch ๊ฐ ๊ธฐ๋ณธ ๋ํดํธ ์ด๋ค.
stretch ๋ grid-container ๊ฐ grid ๋ฅผ ๊ฐ์ง๊ณ ์๊ณ grid ๋ฅผ ๋์ฌ์ grid ์์ฒด๋ฅผ ์ฑ์ฐ๋๋ก ํ๋ค.
๊ทธ๋ฐ๋ฐ justify-items ๋ฅผ start, center, end ๋ก ๋ฐ๊ฟ๋ณด๋ฉด ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค.
justify-items: start;
justify-items: center;
justify-items: end;
์์ ๋ง์ฐฌ๊ฐ์ง ์ด์ง๋ง align-items (์์ง, ์ธ๋ก) ๋ฐฉํฅ์ ์ฌ์ฉ๋๋ค๋ ์ ์ด ๋ค๋ฅด๋ค.
์ด ๋ํ start, center, end ์ต์ ์ ์ค ์ ์๋ค.
justify-items ์ align-items ๊ฐ stretch ๊ฐ ์๋๋ฉด์ ๊ฐ ์์ดํ ์ content ๊ฐ ์์ ๊ฒฝ์ฐ (text) ๋ธ๋ผ์ฐ์ ์๋ ์ญ์ ์๋ฌด๊ฒ๋ ์๋์จ๋ค.
๋์ด์ ๋๋น๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง stretch ์ผ ๋๋ ์ปจํ ์ธ (text) ๊ฐ ์๊ณ ์๊ณ ๋ฅผ ๋ ๋์ ๋ธ๋ผ์ฐ์ ์ ๋์จ๋ค. ์?์ผ๊น?
๊ทธ๋์ header, content, nav, footer ํด๋์ค์ ๋์ด์ ๋๋น๋ฅผ 40px ๋ก ๋ถ์ฌํ๊ณ justify-items ์ align-items ๋ฅผ ๋์ ์ฌ์ฉํด ๋ณด์๋ค.
justify-items: end;
align-items: start;
์ฌํผ ๊ฐ ํด๋์ค ๋ณ๋ก height, width ๋ฅผ ๋ถ์ฌํ๋ฉด ๋ํ๋๋ค.
๊ธฐ๋ณธ ์ฌ์ด์ฆ๋ฅผ (width, height) ๋ถ์ฌํ๋ฉด justify-items, align-items ์ stretch ๋ฅผ ์ค๋ ๋์ด๋์ง ์๋๋ค.
์ด๋ฏธ ๊ธฐ๋ณธ ์ฌ์ด์ฆ๋ฅผ ์ง์ ํด ์คฌ๊ธฐ ๋๋ฌธ์ด๋ค.
justify-items ์ align-items ๋ฅผ ํ ์ค๋ก ์์ฑํ ์ ์๋ shortcut ์ด ์๋ค.
๊ธฐ๋ณธ ํํ๋
place-items: ์์ง y ์ํ x; ์ ํํ๋ก ์์ฑํ๋ค.
place-items: stretch center;